package com.zjwd.system.service;

import com.zjwd.common.core.domain.entity.SysPlatform;
import com.zjwd.common.core.domain.entity.SysPlatformUser;
import com.zjwd.common.core.domain.entity.SysUser;

import java.util.List;

/**
 * 系统平台 服务层
 *
 * @author liquan
 */
public interface ISysPlatformService {

    /**
     * 查询系统平台数据集合
     *
     * @param platform 系统平台
     * @return 系统平台集合
     */
    List<SysPlatform> selectPlatformList(SysPlatform platform);

    /**
     * 根据用户账号查询系统平台
     *
     * @param userAccount 用户账号
     * @return 系统平台集合
     */
    List<SysPlatformUser> selectPlatformListByUser(String userAccount);

    /**
     * 获取当前用户登录的系统平台
     *
     * @param userAccount 用户账号
     * @return 当前登录的系统平台
     */
    SysPlatformUser getCurrentLoginPlatform(String userAccount);

    /**
     * 校验系统平台编号是否唯一
     *
     * @param platform 系统平台
     * @return 结果
     */
    boolean checkCodeUnique(SysPlatform platform);

    /**
     * 校验系统平台名称是否唯一
     *
     * @param platform 系统平台
     * @return 结果
     */
    boolean checkNameUnique(SysPlatform platform);

    /**
     * 切换系统平台
     *
     * @param platformCode 系统平台编号
     * @param userAccount 用户账号
     * @return 结果
     */
    SysPlatformUser switchPlatform(String platformCode, String userAccount);

    /**
     * 新增
     *
     * @param platform 系统平台
     * @return 结果
     */
    int insert(SysPlatform platform);

}
